/**
 * 通过Id查询联级树父级与本身节点的Id组成的数组
 */
export class NzCascadeData {
  /**
   *
   * @param  treeList 级联选择树
   * @param key 级联选择树数据
   * @returns  所需字符串数组
   */
  public static getShowData(treeList: any[], key: string) {
    let stringArr = [];
    let isFind = false;
    const getArrById = (list: any[], parentId: string) => {
      if (parentId != null) {
        stringArr.push(parentId);
      }
      list.forEach(item => {
        if (isFind) {
          return;
        }
        if (item.parentId == null) {
          stringArr = [];
        }
        if (item.key === key) {
          stringArr.push(item.key);
          isFind = true;
          return;
        }
        if (item.children && item.children.length) {
          getArrById(item.children, item.key);
        }
      });
    };
    getArrById(treeList, null);
    return stringArr;
  }
}
